// Copyright 2024 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Flags: --harmony-struct

function AWolfInPromiseClothing(executor) {
  executor(()=>{}, ()=>{});
}
Object.defineProperty(Promise, Symbol.species, {
  get() {
    return AWolfInPromiseClothing;
  }
});
assertThrows(
    ()=>Atomics.Mutex.lockAsync(new Atomics.Mutex(), async ()=>{}),
    TypeError);
